package xkp.lesson1;

import java.util.ArrayList;
import java.util.Collections;

public class TestCollections {
    public static void main(String[] args) {
        //Collections工具类，是操作集合框架对象的工具类，其中提高了大量针对集合框架对象的功能
        //排序、查找、分隔
        //Collections.
        ArrayList<String> stringArrayList = new ArrayList<>();
        stringArrayList.add("123");
        stringArrayList.add("1241");
        stringArrayList.add("3463453");
        stringArrayList.add("143245");
        stringArrayList.add("765765");
        stringArrayList.add("12321");
        stringArrayList.add("789987");
        //Collections.fill(stringArrayList,"111");
        System.out.println(stringArrayList);
        //排序
        Collections.sort(stringArrayList);
        //如果想让一个类的两个对象可以比大小
        //可以添加一个功能(方法)
        //标准做法为implements Comparable<T>接口
        //重写compareTo()方法
        //
        System.out.println(stringArrayList);

        ArrayList<Person> personArrayList = new ArrayList<>();
        personArrayList.add(new Person(2352,"张三"));
        personArrayList.add(new Person(234,"李四"));
        personArrayList.add(new Person(56,"王五"));
        personArrayList.add(new Person(12341,"赵柳"));

        //思考问题,能不能对personArrayList排序
        //1、如果要对能不能对personArrayList排序,必须要保证Person对象可以比较大小
        //2、目前Person对象是无法比较大小的
        //3、无法对personArrayList排序
        Collections.sort(personArrayList);
        System.out.println(personArrayList);

        //不是任何一个泛型集合都可以排序
        //要想通过Cllections排序，则必须implements Comparable<T>接口
        //重写compareTo()方法

        Collections.binarySearch(personArrayList,new Person());
        //Collections与Arrays很像


    }
}
